package util;

import dal.ArticuloDAL;

import excepciones.AvwException;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;

import negocio.ArticuloCampania;
import negocio.FotoArticuloWeb;

public class FuncionGestores {

    /**
     * Transforma un ArrayList<ArticuloCampania> en ArrayList<HashMap>. 
     * Los articulos retornador contendran:
     * artCodigo, artNombre, artRubro, marNombre, artDescripcion, cawNombre, 
     * fawCodigo y fawDescripcion de sus fotos,
     * valor de las especificaciones tecnicas ('cruCodigo' y 'cruNombre'),
     * arcPrecioDescuento y arcPrecioLista.
     * @param ArrayList<ArticuloCampania> articulosCampania.
     * @return ArrayList<HashMap>.
     * */
    public static ArrayList<HashMap> obtieneArticulosCompletos(ArrayList<ArticuloCampania> articulosCampania) throws AvwException {
        ArrayList<HashMap> articulos = new ArrayList<HashMap>();

        for (ArticuloCampania articulo: articulosCampania) {
            HashMap articuloHash = new HashMap();
            articuloHash = articulo.getArcArticulo().obtenerDatosResumen();            

            /*Falta declarar la estructura del url*/
            articuloHash.put("url", 
                              articulo.getArcArticulo().getArtDescripcion());
            articuloHash.put("arcPrecioDescuento", 
                             articulo.getArcPrecioDescuento());
            articuloHash.put("arcPrecioLista", articulo.getArcPrecioLista());
            
            try {
                articuloHash.put("desNivel", articulo.getArcDestacado().getDesNivel());
                articuloHash.put("desTitulo", articulo.getArcDestacado().getDesTitulo());
                articuloHash.put("desDescripcion", articulo.getArcDestacado().getDesDescripcion());
                articuloHash.put("desMostrarPrecio", articulo.getArcDestacado().getDesMostrarPrecio());
            } catch(Exception e) {
            }
            
            articulos.add(articuloHash);
        }
        return articulos;
    }
    
}
